const LOCAL_KEY = "todomvc";
/**
 * 生成一个任务的唯一编号，时间戳+4位随机数
 */
export function generateId() {
  return Date.now() + Math.random().toString(16).substring(2, 6);
}
/**
 * 获取目前所有的任务
 */
export function fetch() {
  const result = localStorage.getItem(LOCAL_KEY);
  if (result) {
    // 将result转为对象
    return JSON.parse(result);
  }
  //result没值就设为数组
  return [];
}
/**
 * 保存所有任务
 * @param {*} todos 任务列表
 */
export function save(todos) {
  localStorage.setItem(LOCAL_KEY, JSON.stringify(todos));
}
// 删选过滤任务
export function filter(todo, visibilityRef = "all") {
  if (visibilityRef === "all") {
    return todo;
  } else if (visibilityRef === "active") {
    // 未完成的任务
    return todo.filter((item) => {
      return !item.completed;
    });
  } else if (visibilityRef === "completed") {
    // completed
    return todo.filter((item) => item.completed);
  } else {
    throw new Error("invalid visibility value");
  }
}
